Video playback device for use with a mobile communication device

ABSTRACT

A digital video recorder (DVR) has a memory manager to determine a particular date and a particular video program in a download schedule for which the DVR will reach a low memory condition based on the download schedule and an amount of unoccupied memory space in the DVR. The DVR outputs a display signal to indicate the particular date and the particular video program.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present U.S. Utility patent application claims priority pursuant to35 U.S.C. §120, as a continuation, to U.S. Utility patent applicationSer. No. 13/302,667, filed on Nov. 22, 2011, entitled DSL VIDEO SERVICEWITH MEMORY MANAGER.

-   -   U.S. patent application Ser. No. 13/302,667 claims priority        pursuant to 35 U.S.C. §120, as a continuation, to U.S. Utility        patent application Ser. No. 10/313,970 filed on Dec. 5, 2002,        entitled DSL VIDEO SERVICE WITH MEMORY MANAGER, issued as U.S.        Pat. No. 8,086,093 on Dec. 27, 2011.        All of which are hereby incorporated herein by reference in        their entirety and made part of the present U.S. Utility patent        application for all purposes.

The present application is also related to, and incorporates byreference, the following applications having the same assignee as thepresent application:

“DSL VIDEO SERVICE WITH AUTOMATIC PROGRAM SELECTOR”, filed on Dec. 5,2005, having application Ser. No. 10/313,998, abandoned;

“DSL VIDEO SERVICE WITH STORAGE”, filed on Dec. 5, 2005, havingapplication Ser. No. 10/313,930, issued as U.S. Pat. No. 7,870,593 onJan. 11, 2011;

“SYSTEM AND METHOD FOR SEARCH, SELECTION AND DELIVERY OF MEDIA CONTENT”,filed on Dec. 5, 2005, having application Ser. No. 10/313,926,abandoned; and

“SYSTEM AND METHOD FOR DELIVERING MEDIA CONTENT”, filed on Dec. 5, 2005,having application Ser. No. 10/313,995, abandoned.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to video distribution systems.

2. Description of the Related Art

Currently, video programming is broadcast to subscribers via cable andsatellite systems. Subscribers may purchase a service that uses adigital video recorder at a subscriber location in conjunction with anelectronic program guide to record broadcast programs. Examples of theDVRs include those sold under the brand names of TIVO® and REPLAYTV®Users can play back recorded programs at a time that is convenient.

Digital Subscriber Line (DSL) services may allow video-on-demandservices, but in many cases the bandwidth of the channel is notsufficient to transmit high quality video signals in real time.

U.S. Patent Application Publication No. 2001/0042249 discloses a systemand method for transferring entertainment media files over the Internet.Show requests can occur in two ways. In one method, a user can directlyrequest a show, such as browsing through a directory and selecting ashow to request from the server. In a second method, a user cansubscribe to a particular show, series of episodes, or genre ofentertainment, for example. As episodes included in a subscriptionbecome available at the server-side, they are automatically delivered tothe client using the client's idle bandwidth.

U.S. Patent Application Publication No. 2001/0027563 discloses a clientterminal that monitors a user's viewing habits to determine favoriteshows. Thereafter, if the terminal is not activated by the user to watchone of these favorites, the terminal notices the event and automaticallycopies the program onto disk to the extent storage space permits.Recorded programs are not deleted after viewing, however their storagespace may be overwritten by other recordings. Recorded programs thathave not been viewed are overwritten as needed, oldest first. Viewedprograms are overwritten before non-viewed programs. A variety of morecomplex rules and policies is typically provided to govern whichrecorded programs are deleted to provide storage for new programs.

U.S. Pat. No. 6,353,444 discloses an auxiliary menu item that provides apreset for recording of a next episode in a series.

U.S. Patent Application Publication No. 2002/0040475 discloses anelectronic programming guide having enhanced functionality whichincludes the ability to track previously selected content so thatidentical or similar programs can be recorded in the future. Alsodisclosed is a duplicate episode filter which alerts a user if aduplicate episode is being recorded. The duplicate episode filter tracksthe list of recorded programs for duplicates when a record operation isinitiated. If a match is determined, a notification may be visuallydisplayed for the user.

The aforementioned publication further discloses visually alerting theviewer as a percentage of storage consumed by recorded material reacheslower levels. For an out-of-disk space alert, a user may receive anotification indicating the approximate minutes of recording time stillavailable while recording is in progress. If the program length isgreater than the amount of unused storage space available, the user mayreceive a notification indicating such, as well at the recording timeavailable, prior to or at the start of the recording.

U.S. Patent Application Publication No. 2002/0038358 discloses a moduledesigned to accommodate a request to add a single show. The module isused to add record events as specified after checking for conflicts orfree disk space availability. Exemplary data that can be helpful increating a data structure to be used by the module include an indicatorto record all episodes and an indicator of the number of episodes.

U.S. Patent Application Publication 2002/0124249 discloses havingadvertisements downloaded to a set-top box. The advertisements aremerged with content either dynamically during playback or bymodification to the stored content to insert new advertisements. Timeand date can be used to avoid displaying obsolete advertisements.Advertisements can be individually selected for each user based on theuser's individual profile, thus making playback an individual playbackfor each user. In addition, advertising can be varied based upon thecontent, advertisement history, playback time and date. Thus, theparticular advertisement associated with a video-on-demand selection isnot static. Advertisement history can be used to optimize the frequencyany particular advertisement is provided to a user to maintain theuser's interest without the user becoming annoyed with theadvertisement.

U.S. Patent Application Publication 2002/0129375 discloses having datapre-loaded onto a set-top box (STB) For example, short pre-loaded videoclips such as movie trailers or advertisements may be displayed prior toshowing a selected video. To increase the probability that a viewer willwatch the trailers and advertisements, the pre-loaded trailer clips canbe selected based on a subscriber's profile.

A set-top box database from each subscriber's set-top box is collectedon a regular basis. Using this information, the list of trailers to beloaded for a given set-top box is modified to remove bothalready-watched trailers and trailers of videos already rented.

The set-top box includes a video file agent which determines theavailability of a requested video by checking a video lookup table. Thevideo lookup table comprises videos stored by the set-top box, videosstored at a central office, and videos stored at a video warehouse.Through a hierarchical menu display, where videos at the video warehouseare on the last set of sub-menus, a higher priority is given to menusfor the videos stored by the set-top box and the central office. Ahigher premium could be charged for videos stored at the video warehouseto encourage subscribers to choose videos stored at the set-top box andthe central office. Using the available list of trailers resident on theset-top box, the video file agent selects a mix of video trailers forviewing based on a usage profile of the subscriber and a category ofvideo selected.

Videos transferred to a set-top box memory are divided into chapters. Asubscriber can move from chapter to chapter without having to playthrough undesired chapters. The video chapters can be transferred in anonlinear, weighted distribution that is more heavily buffered in thebeginning video chapters.

U.S. Patent Application Publication No. 2002/0052782 discloses rewardingusers for viewing advertisements and for providing information aboutthemselves. This facilitates selection and targeting of advertisements,and allows video channel viewers to subsidize and pay for the videochannel programs that they are watching and the interactive videoservice they are using. An incentive might comprise a rate at which thebuyer entity is compensated for viewing and/or interacting withadvertisements. Additionally, or alternatively, it might compriserewards that are promised to the buyer entity for responding in certainways to these advertisements.

U.S. Patent Application Publication No. 2002/0059584 discloses contentproviders (broadcasters and advertisers) using usage history informationto develop various content access, billing, and compensation models forconsumers and content creators/owners.

U.S. Pat. No. 6,400,996 discloses interactive television advertisingmodels wherein a user may control the content and/or commercialinformation received. In some cases, certain commercial sponsors may beable to avoid deletion of their advertisement, while others may allowtruncation. The acceptability of this to the consumer may depend onsubsidies. Instead of paying for placements directly to the media, aportion is paid to a service provider, based on consumer viewing. Themedia, on the other hand, may seek to adopt a pay-per-view policy, atleast with respect to the service provider, in lieu of directadvertising revenues. The service provider will account to bothadvertisers and content providers for use. With sufficient viewing ofcommercials, the entire service charge for a system might be covered fora user. On the other hand, a viewer might prefer to avoid allcommercials, and not get the benefit of a subsidy. In this case, therecipient may be denied a subsidy from the commercial advertiser, andpay for the privilege of commercial free content.

The service provider performs the function of delivering optimized,substituted commercials for the general commercials provided by thecommercial broadcast networks, and thus can accrue profits after payingcontent providers a fee. An advertiser, by selecting a particularaudience, may pay less than it would otherwise pay to a broadcaster. Thecontent providers may also charge more for the privilege of use of theirworks.

U.S. Patent Application Publication No. 2002/0078176 disclosesdownloading rented video data files in a time sensitive format that willdelete the file or make it inaccessible or unviewable after theexpiration of a specific rental period and/or after a specified numberof viewings. Purchased and/or rented video data files are downloaded ina copy protected format to prevent unauthorized reproduction or resaleof the video data files by the customer.

U.S. Patent Application Publication No. 2002/0129371 discloses use ofcontent management information having an access time threshold value andcharging information. The access time threshold value is a time from apoint at which a client receives content-related information until apoint at which the client actually requests content distribution. Forsome content, the longer the access time, the lower is the charge, i.e.slow access enables the user to receive a discount. Reducing the chargeas access time increases can be used as a charging method for media ofhighly real-time character, such as news, and media that have greatervalue the more recent they are such as movies.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is pointed out with particularity in the appendedclaims. However, other features are described in the following detaileddescription in conjunction with the accompanying drawings in which:

FIG. 1 is a block diagram of an embodiment of a system to provide a DSLvideo service with storage;

FIG. 2 is a flow chart of an embodiment of a method to provide the DSLvideo service with storage;

FIG. 3 is a flow chart of an embodiment of a method of ordering multiplevideo programs from a video server; and

FIG. 4 is a flow chart of an embodiment of a method of automaticallyadding video programs to a download schedule.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Disclosed herein are embodiments of a digital video recorder (DVR) andan accompanying DSL video distribution service. The DSL service providesvideo content to the DVR in either a real-time transmission mode or anon-real-time transmission mode. The DVR promotes viewing of videoprograms at any time after being received by the DVR, in contrast toviewing a video program during its broadcast time. The DVR and servicefacilitate video services for DSL without the need for real-time speed.

Embodiments of the present invention are described with reference toFIG. 1, which is a block diagram of an embodiment of a system to providea DSL video service with storage, and FIG. 2 which is a flow chart of anembodiment of a method of providing the DSL video service with storage.As shown in FIG. 1, the system comprises a video server 10 havinglocally-stored video programs 12 and remotely-stored video programs 13available for downloading by multiple customers. The video server 10 maybe located either at a central office of a telecommunication system thatprovides the DSL service or at an alternative location.

Each customer has a digital video recorder (DVR) 14 which communicateswith The video server 10, via DSL 16 or an alternative telecommunicationnetwork, to request, receive and store selected ones of the videoprograms 12 and 13. The digital video recorder 14 may be embodied byeither a so-called “set-top box” or a general purpose computer.Regardless of its form, the digital video recorder 14 has a networkinterface, a mass storage device, a processor, and video recordinghardware and/or software stored on a computer-readable medium.

The digital video recorder 14 comprises a DSL modern 17 or analternative network interface to communicate with the video server 10according to a DSL protocol or an alternative protocol. The DSL protocolmay be based on at least one of Data Over Cable Service InterfaceSpecifications (DOCSIS), Asymmetric Digital Subscriber Line (ADSL),Very-high-data-rate Digital Subscriber Line (VDSL), Symmetrical DigitalSubscriber Line (SDSL), and Multirate DSL (MDSL).

Selections of video programs are made using a user input interface 20.Examples of the user input interface 20 include, but are not limited to,any combination of a remote control, a keyboard, a pointing device, anda voice/speech input and recognition device.

Playback of received video programs is initiated and controlled by theuser input interface 20. The digital video recorder 14 outputs a signalto display video programs on a display device 22. Examples of thedisplay device 22 include, but are not limited to, a television and amonitor, either of which may display video using a cathode-ray tube, aliquid crystal display or plasma technology.

As indicated by block 24 in FIG. 2, a method of providing the servicecomprises presenting a list of video programs 26 that can be downloaded.The list of video programs 26 is communicated from the video server 10to the digital video recorder 14 via the DSL 16, and displayed by thedisplay device 22. The list of video programs 26 can include one or moreepisodic series such as “ER”, one or more movies such as “DIE HARD”, andone or more specials such as “The 25th Anniversary Barney Special”. Thelist of video programs 26 identifies the video programs 12 cached at thevideo server 10, the video programs 13 accessible by the service butstored elsewhere, and video programs 30 which are not yet available butwill be made available in the future. Examples of video programs 30appearing in the list 26 before being available include future episodesof a series such as “ER” and a future movie release such as “ROCKY XII”.Video programs 30 which are not yet available include an associated dateof download availability in the list 26.

As indicated by block 32, the method comprises receiving a selection 34of one or more individual programs that the user wants to download. Theselection 34 is made using the user input interface 20 based on the list26, and received by the digital video recorder 14.

As indicated by block 36, the user may select and/or modify parameters40 which affect the download of the selected programs. The selectionand/or modification of the parameters 40 is made by the user using theuser input interface 20, and received by the digital video recorder 14.Examples of the parameters include, but are not limited to, a starttime, a completion time, bandwidth, quality, and real/non-real time.

The start time specifies either when the download process is to or whenthe customer may begin to view a program. Examples of a download-relatedstart time parameter include start downloading now, start downloadingtonight, start downloading tomorrow, start downloading next week, startdownloading when the video becomes available, and start downloading in aspecified amount of time (e.g. start downloading in 2 hours). Examplesof a customer-viewing start time parameter include make viewable at aparticular time (e.g. 8:00 this evening), make viewable tonight, makeviewable tomorrow, make viewable next week, and make viewable in aspecified amount of time (e.g. make viewable in 2 hours). Based on thecustomer-viewing start time parameter, a download-related start time isdetermined. Here, the download-related start time may be calculated insoftware to ensure that the customer may begin viewing the program atthe customer-viewing start time. For example, if the customer wishes tobegin viewing a video at 8:00 this evening, the software would calculatewhen to begin the downloading the video so that enough isreceived/buffered by 8:00.

The completion time specifies when the download process is to end. Inlight of a minimum amount of time required to perform the download, theuser may not be free to specify any desired completion time. Examples ofthe completion time parameter include complete downloading tonight,complete downloading “tomorrow, complete downloading next week, andcomplete downloading in a specified amount of time (e.g. completedownloading in 2 hours).

The bandwidth parameter specifies an amount of bandwidth to dedicate tothe download process. Examples of the bandwidth parameter include useall bandwidth, use a specified fraction of available bandwidth, use aspecified absolute amount of bandwidth, save a specified amount ofbandwidth (e.g. 64 kbps) for other purposes, and use a qualitativeamount of bandwidth (e.g. low, medium or high)

The quality parameter specifies viewing quality for the video programs.For lower values of the quality parameter, the video programs arecompressed more to reduce the download time. Examples of the qualityparameter include low, medium and high. Other examples of the qualityparameter include a video cassette recorder (VCR) quality and a DVD 5.1quality. Pricing for the video programs may be based on the qualityparameter, where a customer pays more for a higher quality.

The real/non-real time parameter specifies whether the download is forsubstantially real-time viewing (e.g. streaming of content), or fornon-real-time viewing. The user may be charged a premium to receive asubstantially real-time download in contrast to a non-real-timedownload. Substantially real-time downloading is considered to includecases where buffering is performed by the digital video recorder 14. Forreal-time viewing, this disclosure also contemplates that some contentin the list of video programs 26 may not be intended to be stored by thedigital video recorder 14 for later viewing.

As indicated by block 42, the method comprises creating a downloadschedule 44 based on which programs were selected 34 and the downloadparameters 40. The download schedule 44 lists the various selectedprograms, their download parameters such as start time or completiontime, and indicates progress of any in-progress downloads. The downloadschedule 44 is displayed by the display device 22 to allow the user toedit the download schedule 44, change download parameters 40,discontinue one or more downloads, or perform other download schedulemodification acts using the user input interface 20.

As indicated by block 46, the method comprises downloading the selectedvideo programs on either a real-time or a non-real-time basis to theuser's digital video recorder 14. The selected video programs aredownloaded from the video server 10 via the DSL 16. The digital videorecorder 14 stores the downloaded video programs as digital data in amemory 50. Examples of the memory 50 include, but are not limited to, amagnetic storage medium such as a hard disk, an electronic storagemedium such as a flash memory, and optical storage medium such as anoptical disk. Regardless of its form, the memory 50 is readable,writeable, and re-writeable.

For real-time downloads, the digital video recorder 14 outputs a signalto display the video program using the display device 22 while thedownload is in progress.

Optionally, as indicated by block 48, the download of added programs maybe stopped or suspended if, during the download, some bandwidth of theDSL 16 is being used for another application. For example, a personalcomputer may use some bandwidth when browsing the Internet using the DSL16. The digital video recorder 14 may output a message 49, for displayby the display device 22, to query the user if the download should beterminated or suspended. An example of the message 49 is “I am recordingLeave it to Beaver, do you want to suspend or terminate this download?”.The digital video recorder 14 either continues, suspends, or terminatesthe download based on a response from the user received by the userinput interface 20.

As indicated by block 52, the method comprises providing aready-to-watch list 54 of all programs that are currently stored locallyin the memory 50 of the digital video recorder 14. The digital videorecorder 14 outputs the ready-to-watch list 54 for display by thedisplay device 22. In one embodiment, the digital video recorder 14determines if a sufficient amount of an in-progress download has beenreceived to allow playback of a video program before completing thedownload. If a sufficient amount of the video program has beendownloaded to permit playback, the video program is included in theready-to-watch list 54 but indicated to show that the download is stillin progress. Otherwise, the digital video recorder 14 may add the videoprogram to the ready-to-Watch list 54 after the download is complete.

As indicated by block 56, the method comprises receiving a selection 60of a video program from the ready-to-watch list 54. The selection 60 ismade by the user using the user input interface 20, and received by thedigital video recorder 14. In response thereto, the digital videorecorder 14 performs an act of playing back the selected video program,as indicated by block 62, for display by the display device 22. Theresulting video playback is represented by reference numeral 64.

In one embodiment, the video programs that are downloaded includetrailers or commercials for other programs. The trailers are played fordisplay by the display device 22 before, during, and/or after playbackof the video program. The user can easily select a program advertised bya trailer by pressing, for instance, a single button of the user inputinterface 20 which initiates a “download this” function. In response tothe user-selection, flow of the method is directed back to block 36wherein the user is prompted to select and/or modify download options,or use a set of default options to affect downloading of the advertisedprogram. The advertised program is added to the download schedule (block42), and is downloaded based on the schedule (block 46). If playback ofa video program was interrupted by the user selection of the trailer,playback of the video program is resumed either before or duringdownloading of the advertised program.

Similarly, preview clips 66 can be downloaded automatically from thevideo server 10. The preview clips 66 may be substantially onlycommercials for other shows to download. In one embodiment, the previewclips 66 are launched and played automatically in a split screen modewhile the user accesses administrative functions of the digital videorecorder 14. The user can order a show based on one of the preview clips66 in the manner described for the trailers.

The user input interface, 20 provides playback controls 70 which allowthe user to play, pause, rewind, fast forward and otherwise control thevideo playback 64. Examples of advanced playback features provided bythe playback controls 70 include, but are not limited to, differentplayback speeds, different rewind speeds, different fast forward speeds,an ability to skip ahead or back one commercial, an ability to skipahead or back a time interval such as X seconds, and scene navigationsuch as an ability to skip or start at a particular scene such as sceneY.

Either the video service or a program producer may divide a broadcastprogram into scenes to allow viewers to employ scene navigation to watchselected scenes of interest. If a viewer is not interested in a subjectmatter of a particular scene, he/she can skip to the next scene, forexample. This feature is beneficial to users watching broadcast programssuch as news programs having multiple news reports, and talk showshaving multiple topics.

Scene navigation may be implemented based on the teachings of U.S. Pat.Nos. 5,933,841 and 6,442,574, which are hereby incorporated by referenceinto the present disclosure. User-selectable scene headings may bejuxtaposed with the video playback 64 on the display device 22. Userscan select any of the scene headings using the user input interface 20to jump the video playback 64 to a desired portion of the video program.

The playback controls 70 may include a resume feature to allow a user toresume viewing the video playback 64 at a point that the user left off.In the case of playback of an in-progress download, use of the fastforward and skip ahead features may be limited.

Based on the playback, the digital video recorder 14 updates a viewinghistory 71 of the video program. For each of the video programs, theviewing history 71 provides a time and date stamp indicating when thevideo program was watched using the digital video recorder 14. Also foreach of the video programs, the viewing history 71 indicates which userswatched the video program using the digital video recorder 14. Further,the viewing history 71 may include episode information for at least oneof the video programs. Examples of the episode information include, butare not limited to, a unique episode identification number or code, anda date that the particular episode was initially broadcast. Theready-to-watch list 54 may indicate the viewing history 71 of each videoprogram so that users can easily determine if and when they have watchedeach video program, who else has watched each video program, andoptional episode information for the video program.

The digital video recorder 14 comprises a memory manager 72 that managesthe storage of video programs in the memory 50. Some video programs arepermitted to be stored indefinitely in the memory 50, while other videoprograms may have associated persistence conditions. An example of apersistence condition is that only a limited number (e.g. one or two) ofplaybacks of a video program is permitted. Another example of apersistence condition is that a video program may be stored in thememory 50 only for a limited time period (e.g. one week or two weeks).Based on its persistence conditions and its viewing history 71, a videoprogram may be automatically deleted from the memory 50 by the memorymanager 72.

The memory manager 72 is responsive to the user input interface 20 toenable the user to select and manually delete one or more of the videoprograms stored in the memory 50. In one embodiment, the memory manager72 attempts to keep the memory 50 as full as possible in order tomaximize the amount of programming that the user has to watch. In thisembodiment, the memory manager 72 retains the video programs in thememory 50 until unoccupied space in the memory 50 reaches an undesirablylow level.

As indicated by block 74 in FIG. 2, the memory manager 72 serves todetermine if a low memory condition either presently exists or willexist based on the download schedule. If either a present or future lowmemory condition is determined, a memory alert message 76 is outputted(block 78) by the digital video recorder 14 for display by the displaydevice 22. For a future low memory condition 80, a particular date 82for which the digital video recorder 14 will reach a low memorycondition based on the download schedule, an amount of unoccupied memoryspace in the digital video recorder 14, and optionally persistenceconditions of one or more video programs stored in the memory, isdetermined and included in the memory alert message 76. The particulardate may be a present date (i.e. on the same day that the memory alertmessage 76 is outputted), a day later the present date, or at least twodays later than the present date. Further, a particular program 84 inthe download schedule for which the digital video recorder 14 will reachthe low memory condition is determined and included in the memory alertmessage 76.

In this way, the digital video recorder 14 warns the user either whenthe memory 50 is running low or if the memory 50 will be running lowbased on the download schedule. In response to the memory alert message76, the user may manually delete one or more of the video programsstored in the memory 50 and/or modify the download schedule using theuser input interface 20 (block 88).

In one embodiment, the memory manager 72 automatically deletes one ormore video programs (e.g. those which may otherwise persistindefinitely) in the memory 50 to make room for new downloads. Thememory manager 72 selects video programs for deletion based on apriority level associated with each video program. The priority of avideo program added to the memory 50 is automatically set to a low valueso that it will be an early candidate for deletion if the memory 50becomes low. Upon seeing the added video program on the downloadschedule 44 or the ready-to-watch list 54, the user can Change thepriority level to save the video program longer, if desired. Moregenerally, the user can set a prioritization 90 of any of the videoprograms in the download schedule 44 or the ready-to-watch list 54 usingthe user input interface 20. The prioritization 90 is communicated fromthe user input interface 20 to the digital video recorder 14 for use bythe memory manager 72.

To illustrate operation of the memory manager 72, consider ahypothetical state of the digital video recorder 14 on a present date ofMay 13th. On the present date, the digital video recorder 14 has 2Gigabytes of unoccupied memory space. The digital video recorder 14 hasmultiple video programs stored in the memory 50, consisting of videoprogram VP1 (occupying 2 Gigabytes) having a persistence condition thatwill cause its automatic deletion at the end of the day of May 14th,video program VP2 (occupying 2 Gigabytes) which may persist indefinitelybut has a low priority, and video programs VP3 to VPN (occupying 94Gigabytes) which may not be automatically deleted. The download schedulecomprises recording a first video program (1 Gigabyte) on May 14th, asecond video program (4 Gigabytes) on May 15th, and an episode of“Scooby Doo” (2 Gigabytes) on May 16. Using this information, the memorymanager 72 determines that there is sufficient memory space (2Gigabytes) to record the first video program on May 14th (which willresult in 1 Gigabyte being unoccupied), to automatically delete thevideo program VP1 at the end of May 14th (which will result in 3Gigabytes being unoccupied), to automatically delete the low priorityvideo program VP2 on May 15th (which will result in 5 Gigabytes beingunoccupied) before recording the second video program (which will resultin 1 Gigabyte being unoccupied). However, the memory manager determinesthat a future low memory condition will occur when recording “ScoobyDoo” on May 16th (since this program is 2 Gigabytes and only 1 Gigabytewill be unoccupied with no video programs in the memory 50 qualifyingfor automatically deletion). The digital video recorder 14 informs theuser that “you will run out of memory on May 16th when I download ScoobyDoo” in the memory alert message 76.

Optionally, the video distribution service may manage titles purchasedfor indefinite use. The video distribution service may allow thecustomer to recover content he/she had deleted from the digital videorecorder 14 but had indefinite license rights to.

The digital video recorder 14 may have preference data 92 stored foreach of its users. In one mode, the digital video recorder 14 learns thepreferences of a user by prompting the user to enter preferenceinformation and/or by observing viewing habits of the user using theviewing history 71. When a sufficient amount of bandwidth of the DSL 16and unoccupied space in the memory 50 exist, an automatic programselector 94 automatically adds programs to the download schedule 44based on the preference data 92 and the viewing history 71.

If a user likes a particular genre, the automatic program selector 94may automatically add other programs of the particular genre. If a userlikes a particular episodic series, the automatic program selector 94may automatically add episodes of the series. For example, consider auser who has been downloading old Star Trek episodes. The automaticprogram selector 94 may automatically add more Star Trek episodes to thedownload schedule 44.

Based on the viewing history 71, the automatic program selector 94 mayautomatically add programs to the download schedule 44 to attempt tohave at least a particular number of unwatched episodes of a series, ora particular number of subsequent episodes of a series, or a particularnumber of unwatched programs of a particular genre, stored in the memory50. By unwatched, it is meant that the episode or program has not beenrecently downloaded and watched using the digital video recorder 14. Insome embodiments, the particular number may be two or three. Thus, foran episodic series, the automatic program selector 94 may have a goal ofmaintaining the next two or three episodes of a user's favorite seriesin the memory 50.

For example, consider the memory 50 having stored therein episodenumbers 199, 200 and 201 of “Leave it to Beaver”. In response to theuser playing back episodes 199 and 200 on an evening, the automaticprogram selector 94 may add episodes 202 and 203 to the downloadschedule 44 for downloading within about 24 hours. Thus, by nextevening, the memory 50 will have stored therein episode numbers 201, 202and 203. This promotes viewing of episodes in order and without havingto wait for a user-initiated download request. A more generaldescription of this feature will be provided with reference to FIG. 4.

Optionally, the service itself may select items of interest to the userand download them to the digital video recorder 14 independent of thepreferences 92.

The video service has an associated billing system 100 to billsubscribers, content providers and advertisers. The billing system 100charges subscribers for downloading video programs. The price charged toa subscriber for downloading a video program may be based on a level ofservice reflected by its download parameters 40. The billing system 100may charge a premium for a real-time on demand download in contrast to anon-real-time download. For non-real-time downloads, the billing system100 may charge more for earlier start and/or completion times. Forexample, the billing system 100 may charge a price P1 for a real-timedownload, a price P2 for a download within two hours, a price P3 for anovernight download, and a price P4 for a download within a week, whereP1>P2>P3>P4.

Further, the price charged to a subscriber for downloading a videoprogram may be based on the storage location of the video program. Thelocally-stored video programs 12 may be discounted relative to theremotely-stored video programs 13.

The billing system 100 may charge advertisers if the video serviceprovides advertising to the digital video recorder 14. Advertisementsmay be downloaded to the digital video recorder 14 for display eitherbefore, during, or after playback of video programs. Each of theadvertisements may have an expiration date which initiates its automaticdeletion from the digital video recorder 14. The digital video recorder14 may maintain an advertisement viewing history. The advertisementviewing history tracks when each advertisement was viewed and by whom.The advertisement viewing history can be used to ensure thatadvertisements are not being inserted with an undesirably highfrequency. Some advertisements may be inserted based on the preferencedata 92 while others are pushed regardless of the preference data 92.Different advertisements may be displayed for different playbacks of thesame video program at different times. Also, advertisements may begeographically targeted. For example, a customer located in Austin, Tex.who has expressed an interest in purchasing a car may be receive athis/her DVR one or more car advertisements from auto dealers in theAustin area, but no advertisements from auto dealers in Chicago.

The billing system 100 may charge sponsors of video programs that theservice itself pushes to users regardless of user preferences orselections.

The digital video recorder 14 may have a feature that selectivelypermits and prohibits transferring stored video programs to anothermedium. The other medium may be a video cassette or a digital video disk(DVD), for example. Some video programs may prohibit transfer to anothermedium, in which case the digital video recorder 14 complies.

FIG. 3 is a flow chart of an embodiment of a method of ordering multiplevideo programs from the video server 10. The acts performed in thisembodiment are performed in association with acts and features describedwith reference to FIGS. 1 and 2.

As indicated by block 110, the method comprises receiving a search queryto search for video programs. The search query is entered and/orselected by the user using the user input interface 20. The search queryis communicated from the user input interface 20 to the digital videorecorder 14. The digital video recorder 14 communicates the search queryto the video server 10 via the DSL 16.

As indicated by block 112, the method comprises identifying a set ofvideo programs based on the search query. For example, suppose the userwas interested in video programs about insects. The user would enterand/or select “insects” as the search query. The video server 10 oranother network element would identify a set of video programs thatpertain to insects.

The set of video programs may include at least one of the locally-storedvideo programs 12, at least one of the remotely-stored video programs13, and at least one of the future video programs 30.

As indicated by block 114, the method comprises providing, to the user,a list of the video programs in the set. The list is communicated fromthe video server 10 to the digital video recorder 14 via the DSL 16. Thelist is displayed by the display device 22.

As indicated by block 116, the method optionally comprises indicating inthe list that at least one video program in the set is for a firstintended audience, and at least one other video program in the set isfor a second intended-audience. The first intended audience may be kidsand the second intended audience may be adults. Continuing with theabove example, suppose that the set of video programs about insectsconsists of a show that was broadcast on the Discovery Kids Channel, ashow that was broadcast on Animal Planet, a show that was broadcast onthe National Geographic Channel, an episode of Nova that was broadcaston PBS. The Discovery Kids' show may be indicated to be intended forkids, and the Animal Planet show, the National Geographic show and theepisode of Nova may be indicated to be intended for adults.

As indicated by block 120, the method optionally comprises providing arecommended viewing order of the video programs in the set. Therecommended viewing order may indicate an interrelationship betweenvideo programs in the set. For example, the recommended viewing ordermay be of increasing depth or sophistication in the subject matterindicated by the search query, or a chronological order based onproduction dates of the video programs. Continuing with the aboveexample, the recommended viewing order may be: (i) the Discovery Kids'show, (ii) the Animal Planet show, (iii) the episode of Nova, and (iv)the National Geographic show.

As indicated by block 122, the method comprises receiving a selection ofone or more of the video programs in the set. The selection is made bythe user using the user input interface 20. The selection iscommunicated from the user input interface 20 to the digital videorecorder 14. The digital video recorder 14 communicates the selection tothe video server 10 via the DSL 16. Continuing with the above example,consider the user selecting all four of the shows in the list.

As indicated by block 124, the method comprises adding the selectedvideo programs to the download schedule 44 described with reference toFIGS. 1 and 2. The selected video programs are scheduled in accordancewith the recommended viewing order.

As indicated by block 126, the method comprises downloading the selectedvideo programs based on the download schedule. The download is performedas described with reference to FIGS. 1 and 2. The user may view all orpart of each of the selected video programs using the digital videorecorder 14 and the display device 22. The user may navigate within eachvideo program using the user input interface 20. Further, the user maynavigate from one video program to another video program using the userinput interface 20 based on the teachings in U.S. Pat. No. 6,145,000,which is hereby incorporated by reference into the present disclosure.

As indicated by block 130, the method comprises billing the user fordownloading the selected video programs. The user may be given adiscount if all videos in the set are ordered. Further, the user may bebilled based on how much of the video programs are viewed using thedigital video recorder 14. Continuing with the above example, suppose anadult user, after watching three minutes of the Discovery Kids' show,would prefer to stop watching the show and move on to the moresophisticated Animal Planet show (which is the next program in therecommended viewing order). The user may be billed for the DiscoveryKids' show commensurate with three minutes of viewing time in contrastto viewing the entire show.

FIG. 4 is a flow chart of an embodiment of a method of automaticallyadding video programs to a download schedule. As indicated by block 140,the method comprises simultaneously storing, in the memory 50 of thedigital video recorder 14, consecutive video programs in a sequence ofvideo programs. The sequence of video programs may comprise a sequenceof episodes in an episodic series, a sequence of video programs of aparticular genre, or a recommended viewing order of video programs basedon a search query as described with reference to FIG. 3. The consecutivevideo programs are downloaded from the video server 10 to the modern 17of the digital video recorder 14. In one embodiment, at least threeconsecutive video programs in the sequence are simultaneously stored inthe memory 50. However, any number of consecutive video programs in thesequence may be simultaneously stored.

As indicated by block 142, the method comprises playing back one of theconsecutive video programs using the digital video recorder 14. Thevideo program is played back for display by the display device 22.Initially, the first of the consecutive video programs is played back.

As indicated by block 144, the method comprises automatically adding avideo program from the sequence to the download schedule 44 in responseto said playing back the one of the consecutive video programs. Theadded video program is automatically added by the automatic programselector 94. Initially, the added video program is one whichsequentially follows a last of the consecutive video programs stored inthe memory 50.

As indicated by block 146, the method optionally comprises indicating inthe download schedule 44 that the added video program is to bedownloaded from the video server 10 within a specific time period, suchas about a day.

The acts indicated by blocks 142, 144 and 146 may be repeated for eachof the consecutive video programs stored in the memory 50. For example,a second of the consecutive video programs may be played back. Inresponse thereto, the automatic program selector 92 automatically addsanother video program from the sequence to the download schedule 44. Theother added video program consecutively follows the previously-addedvideo program in the sequence.

As indicated by block 150, the method comprises downloading the one ormore added video programs in the download schedule 44. The one or moreadded video programs are downloaded from the video server 10 to thedigital video recorder 14, and stored by the memory 50. As a result, anew set of consecutive video programs is stored by the memory 50. Thenew set of consecutive video programs may or may not include any of theprevious set of consecutive video programs.

Flow of the method is directed back to block 142, wherein a user canplay back the next unwatched video program in the sequence using thedigital video recorder 14. This method promotes viewing of videoprograms in order and without having to wait for a user-initiateddownload request.

The video server 10 or another network element may allow the selectionof video programs to be made via a wide area computer network such asthe Internet or World Wide Web. Using a computer in communication withthe wide area computer network, the customer may select video programsto download to the digital video recorder 14, and may remotely controlany of the herein-disclosed features of the digital video recorder 14.Further, video program selection and DVR remote control may be enabledby either a wireless data access device such a wireless telephone device(e.g. a cellular telephone), a wireless computer device (e.g. a personaldigital assistant), or a wireline telephony device via an interactivevoice response (IVR) system.

It will be apparent to those skilled in the art that the disclosedinventions may be modified in numerous ways and may assume manyembodiments other than the preferred forms specifically set out anddescribed herein. For example, the acts described herein may beperformed in an order which differs from that shown in FIGS. 2, 3 and 4.Further, some of the acts shown in FIGS. 2, 3 and 4 may be performedconcurrently.

Accordingly, it is intended by the appended claims to cover allmodifications which fall within the true spirit and scope of the presentinvention.

1. A streaming video server for use in conjunction with a video playerassociated with a wireless telephone, the streaming video servercomprising: a network interface for broadband communication with thevideo player and the associated wireless telephone via the Internet; amemory, coupled to the network interface, for storing a plurality ofvideo programs; wherein the streaming video server responds tointeractions of the user interface via a user of the wireless telephoneto receive first data indicating a selected one of the plurality ofvideo programs; wherein the video server is configured to stream theselected one of the plurality of video programs to the video playbackdevice via the broadband communication for display on a display deviceassociated with the video player; wherein the video server is configuredto selectively pause and stop the selected one of the plurality of videoprograms and skip to a different portion of the selected one of theplurality of video programs in response to second data received via thebroadband communication; wherein the video server is configured togenerate a list for display via the video player of at least a portionof the plurality of video programs, and wherein the list of at least aportion of the plurality of video programs includes at least a lowerdisplay quality and higher display quality available for at least one ofthe plurality of video programs; wherein the video server is configuredto generate a viewing history for display on the video player thatindicates a plurality of previously streamed video programs of theplurality of video programs; and wherein the video server is configuredto receive via the broadband communication a search query and to searchthe plurality of video programs.
 2. A video server for use inconjunction with a video player associated with a wireless telephone,the video server comprising: a network interface for broadbandcommunication with the video player and the associated wirelesstelephone via the Internet; a memory, coupled to the network interface,for storing a first plurality of video programs; wherein the videoserver responds to interactions of the user interface via a user of thewireless telephone to receive first data indicating a selected one ofthe first plurality of video programs; wherein the video server isconfigured to stream the selected one of the first plurality of videoprograms to the video playback device via the broadband communicationfor display on a display device associated with the video player;wherein the video server is configured to selectively pause and stop theselected one of the first plurality of video programs and skip to adifferent portion of the selected one of the first plurality of videoprograms in response to second data received via the broadbandcommunication; wherein the video server is configured to generate a listfor display via the video player of at least a portion of the firstplurality of video programs, and wherein the list of at least a portionof the first plurality of video programs includes at least a lowerdisplay quality and higher display quality available for at least one ofthe first plurality of video programs; and wherein the video server isconfigured to generate a viewing history for display on the video playerthat indicates a plurality of previously streamed video programs of thefirst plurality of video programs; and wherein the video server isconfigured to receive via the broadband communication a first searchquery and to search the first plurality of video programs based on thesearch query.
 3. The video server of claim 2 wherein the memory stores asecond plurality of video programs, and the video server downloads aselected one of the second plurality of video programs to the videoplayer via the broadband communication.
 4. The video server of claim 3wherein the video server responds to interactions of the user interfacevia the user of the wireless telephone to receive second data indicatingthe selected one of the second plurality of video programs.
 5. The videoserver of claim 3 wherein the video server generates a list of at leasta portion of the second plurality of video programs, and wherein thelist of at least a portion of the second plurality of video programsincludes at least a lower display quality and higher display qualityavailable for at least one of the second plurality of video programs. 6.The video server of claim 3 wherein the video server generates a viewinghistory associated with the user that indicates a plurality ofpreviously downloaded video programs of the second plurality of videoprograms.
 7. The video server of claim 3 wherein the video server isconfigured to identify at least one video program of the secondplurality of video programs that had previously been downloaded to thevideo player and that had been purchased with unlimited rights toredownload, and to redownload the at least one video program of thesecond plurality of video programs in response to a request toredownload the at least one video program of the second plurality ofvideo programs.
 8. The video server of claim 3 wherein the video serveris configured to receive a second search query to search the secondplurality of video programs based on the search query.
 9. The videoserver of claim 3 wherein the video player is configured to display anindication that download of the selected one of the second plurality ofvideo programs is in progress.
 10. The video server of claim 3 whereinthe video server is configured to respond to user actions of the usersend via broadband communication to stop download of the selected one ofthe second plurality of video programs in progress.
 11. A video serverfor use in conjunction with a video player associated with a wirelesstelephone and a user, the video server comprising: a network interfacefor broadband communication with the video player and the associatedwireless telephone via the Internet; a memory, coupled to the networkinterface, for storing a first plurality of video programs; wherein thevideo server responds to interactions of the wireless telephone via auser to receive first data indicating a selected one of the firstplurality of video programs; wherein the video server is configured todownload the selected one of the first plurality of video programs tothe video playback device via the broadband communication for display ona display device associated with the video player; wherein the videoserver is configured to generate a list for display via the video playerof at least a portion of the first plurality of video programs, andwherein the list of at least a portion of the first plurality of videoprograms includes at least a lower display quality and a higher displayquality available for at least one of the first plurality of videoprograms; wherein the video server is configured to generate a purchasehistory for display on the video player that indicates a plurality ofpreviously purchased video programs of the first plurality of videoprograms; wherein the video server is configured to identify at leastone video program of the first plurality of video programs that hadpreviously been downloaded to the video player and that had beenpurchased with unlimited rights to redownload, and to redownload the atleast one video program of the first plurality of video programs inresponse to a request from the video player; and wherein the videoserver is configured to receive via the broadband communication a firstsearch query and to search the first plurality of video programs basedon the search query.
 12. The video server of claim 11 wherein the videoserver is configured to stop download of the selected one of the firstplurality of video programs in progress.
 13. The video server of claim11 wherein the video server is configured to generate a viewing historyassociated with the user that indicates a plurality of previouslywatched video programs of the second plurality of video programs. 14.The video server of claim 11 wherein the video player is configured todisplay an indication that download of the selected one of the firstplurality of video programs is in progress.
 15. The video server ofclaim 11 wherein the memory stores a second plurality of video programs,and the video server streams a selected one of the second plurality ofvideo programs to the video player via the broadband communication. 16.The video server of claim 15 wherein the video server is configured toreceive a second search query to search the second plurality of videoprograms based on the search query.
 17. The video server of claim 16wherein the video server responds to interactions of the user interfacevia the user of the wireless telephone to receive second data indicatingthe selected one of the second plurality of video programs.
 18. Thevideo server of claim 15 wherein the video server is configured torespond to user actions of the user send via broadband communication toselectively pause and stop the selected one of the second plurality ofvideo programs and skip to a different portion of the selected one ofthe second plurality of video programs in response to second datareceived via the broadband communication.